package springapp.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;

public interface GenericDao<E, ID extends Serializable> {

	public E getEntity(ID id);

	public List<E> getEntities(List<ID> idList);

	public void saveEntity(E entity);

	public void saveEntities(E... entities);

	public List<E> getAllEntities();

	public void updateEntity(E entity);

	public List<E> findByExample(E exampleInstance);

	public List<E> findByCriteria(Criterion... criterias);
	
	public void setInitialized();
	
	public void unset();
	
}
